package com.ly.service;

import com.ly.entity.User;
import com.ly.web.dto.HouseDTO;
import com.ly.web.dto.UserDTO;
import com.ly.web.form.DatatableUserSearch;
import com.ly.web.form.HouseForm;
import org.springframework.transaction.annotation.Transactional;

/**
 * 用户服务
 * @author ：LY
 * @date ：Created in 2020/11/8 20:03
 * @modified By：
 */
public interface IUserService {
    /**
     * 通过用户名查询用户信息
     * @param userName
     * @return
     */
    User findUserByName(String userName);

    /**
     * 查询用户信息
     * @param adminId
     * @return
     */
    ServiceResult<UserDTO> findById(Long adminId);

    /**
     * 根据电话号码寻找用户
     * @param telephone
     * @return
     */
    User findUserByTelephone(String telephone);

    /**
     * 通过手机号注册用户
     * @param telephone
     * @return
     */
    User addUserByPhone(String telephone);

    /**
     * 修改指定属性
     * @param profile
     * @param value
     * @return
     */
    ServiceResult modifyUserProfile(String profile,String value);

    /**
     * 管理用户列表接口
     * @param searchBody
     * @return
     */
   ServiceMultiResult<UserDTO> adminUserQuery(DatatableUserSearch searchBody);

    /**
     * 更新用户状态  有删除和正常还有禁止三种状态
     * @param id
     * @param value
     * @return
     */
    ServiceResult updateStatus(Long id, int value);

    /**
     * 查询包含权限信息的用户信息
     * @param id
     * @return
     */
    ServiceResult<UserDTO> findCompleteOne(Long id);


     ServiceResult update(UserDTO userDTO);
}
